Technical Q&A
NW 58 - fBroadCastAddr
の値が常にゼロになっている理由(1999 年 3 月 8 日)
Q: OTInetGetInterfaceInfo
を呼び出すと、fBroadcastAddr
フィールドの値が常にゼロになっています。これはバグでしょうか。
A:
バグではありません。このフィールドはブロードキャストアドレスの設定方法を記述するものです。ここがゼロとなっていれば、ブロードキャストアドレスが明示的に設定されていないことになります。この場合、ブロードキャストアドレスIP
によって、IP
アドレスとサブネットマスクをもとに合成されます。
ブロードキャストアドレスが明示的に設定されている場合は、fBroadcastAddr
の値がアドレスとなります。現在のシステムでは、fBroadcastAddr
の値がゼロでない場合にかぎり、DHCP サーバーのoption 28
を介してアドレスが供給されます。
次のコードを使えば、実際に使用されているブロードキャストアドレスを割り出すことができます。
broadcastAddr = info.fBroadcastAddr;
if (broadcastAddr == 0) {
broadcastAddr = info.fAddress | ‾info.fNetmask;
}
|
-- Quinn "The Eskimo!"
Worldwide Developer Technical Support
Technical Q&As | Contents
Previous Question | Next
Question
To contact us, please use the Contact
Us page.
|